package com.spicdt.edge.protocol.door.demo.model.po;

/**
 * @Author saluteAlex
 * @Date 2025/6/23 13:55
 */

import lombok.Data;

import java.util.List;

/**
 * 员工信息类
 */
@Data
public  class Staff {
    /**
     * 序号
     * JSON中的唯一序列号
     */
    private String id;

    /**
     * 工号
     * 工号长度受系统设置>>>"工号最大长度"限制。最大20位。
     * 随系统设置>>>是否启用"工号只能输入大写字母及数字"，判断工号的合法性。
     */
    private String staffID;

    /**
     * 名
     */
    private String staffFirstName;

    /**
     * 姓
     */
    private String staffLastName;

    /**
     * 姓名
     */
    private String staffName;

    /**
     * 是否覆盖
     * 0-不覆盖 1-覆盖，默认0；(覆盖：等同于修改员工处理)
     */
    private String replace;

    /**
     * 修改工号时填写
     * 是否允许修改工号，随系统设置>>>"是否允许修改工号"。
     */
    private String oldStaffID;

    /**
     * 部门ID
     * 员工的部门ID
     */
    private String departmentID;

    /**
     * 密码
     * 4-8位数字密码 用于刷卡+密码的认证方式
     */
    private String staffPin;

    /**
     * 员工组名称
     * 员工所属员工组名称
     */
    private String userGroup;

    /**
     * 员工照片
     * base64,员工照片最大不能超过10MB
     */
    private String staffPhoto;

    /**
     * 照片是否用于人脸识别
     * 0-否，1-是
     */
    private String isPhotoforFR;

    /**
     * 人脸卡生效日期
     * yyyyMMddHH。默认值为当前日期
     */
    private String FRIDEffectiveDateTime;

    /**
     * 人脸卡有效日期
     * yyyyMMddHH。 如果为空，则默认值根据EPS-DAS 系统设置获取
     */
    private String FRIDExpiryDateTime;

    /**
     * 是否禁用人脸卡
     * 0-否，1-是（代表禁用）
     */
    private String FRIDInhibited;

    /**
     * 必须使用人脸
     * 0-否，1-是
     */
    private String mustVerifyFace;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 性别
     * 1-男，2-女
     */
    private String gender;

    /**
     * 是否访客
     * 0-否，1-是
     */
    private String visitor;

    /**
     * 是否残障
     * 0-否，1-是
     */
    private String handicapped;

    /**
     * 是否VIP
     * 0-否，1-是
     */
    private String vip;

    /**
     * 自定义字段1
     */
    private String staffUserField1;

    /**
     * 自定义字段2
     */
    private String staffUserField2;

    /**
     * 自定义字段50
     */
    private String staffUserField50;

    /**
     * 卡片列表
     * 请求卡片数量不超过1张
     */
    private List<StaffCard> staffCard;

    /**
     * 门权限
     * 建议每次请求门数不超过100个
     */
    private List<StaffDoorAccess> staffDoorAccess;

    /**
     * 楼层权限
     */
    private List<StaffFloorAccess> staffFloorAccess;

    /**
     * 权限管理方式
     * noBinding-自由选择门，assigned-手动指定权限模板，userGroup-与员工组模板绑定，department-与部门模板绑定
     */
    private String accessRightBinding;

    /**
     * 权限模板
     * 多个模板，号分隔。assigned-手动指定权限模板时，填写该参数
     */
    private String accessTemplate;
}